package cn.exrick.sso.service;

import cn.exrick.common.pojo.Result;
import cn.exrick.manager.dto.front.OrderInfo;
import cn.exrick.manager.dto.front.PageOrder;
import cn.exrick.manager.pojo.TbOrder;

public interface OrderService {

    /**
     * 分页获得用户订单
     * @param userId
     * @param page
     * @param size
     * @return
     */
    PageOrder getOrderList(Long userId, int page, int size);

    /**
     * 获得单个订单
     * @param orderId
     * @return
     */
    TbOrder getOrder(String orderId);

    /**
     * 取消订单
     * @param orderId
     * @return
     */
    int cancelOrder(String orderId);

    /**
     * 创建订单
     * @param orderInfo
     * @return
     */
    Result<Object> createOrder(OrderInfo orderInfo);

    /**
     * 删除订单
     * @param orderId
     * @return
     */
    void delOrder(String orderId);

    /**
     * 订单支付完成后更新
     * @param orderId 订单id
     * @param tradeNo 支付宝交易号
     */
    void payOrder(String orderId,String tradeNo);

}
